package com.xk._01基础篇._00LeetCode._链表;

/*
 *  203. 移除链表元素
 *  https://leetcode.cn/problems/remove-linked-list-elements/
 *
 *  给你一个链表的头节点 head 和一个整数 val ，
 *  请你删除链表中所有满足 Node.val == val 的节点，并返回新的头节点 。
 */
public class Test04 {
    public ListNode removeElements(ListNode head, int val) {
        ListNode dummyHead = new ListNode(0);// 虚拟头结点
        dummyHead.next = head;
        ListNode temp = dummyHead;
        while (temp.next != null){
            if (temp.next.val == val){
                temp.next = temp.next.next;
            } else {
                temp = temp.next;
            }
        }
        return dummyHead.next;
    }
}

 class ListNode {
     int val;
     ListNode next;
     ListNode() {}
     ListNode(int val) { this.val = val; }
     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 }
